*{ You can use plain selenium command using the selenium tag }*


#{selenium}

	clearSession()
    //Abre a página principal
    open('/')
    assertNotTitle('Application error')
    
   //Verificar se os os livros padrões(estáticos) estão presentes
  	assertTextPresent('Ubuntu')
    assertTextPresent('Android')
    assertTextPresent('Python')
    assertTextPresent('Zend')
#{/selenium}

#{selenium 'Teste Livros'}
	clickAndWait('link=Livros')
	assertNotTitle('Application error')
	assertTitle('Livros - CAbeceira')
	assertTextPresent ('Início')
	assertTextPresent ('Livros')
	assertTextPresent ('Registrar-se')
	assertTextPresent ('Login')
	assertTextPresent('Livro Teste')
#{/selenium}

#{selenium 'Teste detalhes de um livro'}
	clickAndWait('link=Livro Teste')
	assertNotTitle('Application error')
	assertTitle('Livro - CAbeceira')
	assertTextPresent('descrição Livro Teste')
	assertTextPresent('autor')
	assertTextPresent('teste2@gmail.com')

#{/selenium}

#{selenium 'Teste exibição de usuários'}
	clickAndWait('link=Usuários')
	assertNotTitle('Application error')
	assertTitle('Lista de usuários - CAbeceira')
	assertTextPresent('teste2@gmail.com')
#{/selenium}

#{selenium 'Teste de pesquisa de livro'}
	click('livrosRadio')
	type('texto',Teste)
	clickAndWait('pesquisaSuperior')
	assertNotTitle('Application error')
	assertTitle('Pesquisa - CAbeceira')
	assertTextPresent('Livro Teste')

#{/selenium}

#{selenium 'Teste de pesquisa de usuário'}
	click('usuariosRadio')
	type('texto',teste)
	clickAndWait('pesquisaSuperior')
	assertNotTitle('Application error')
	assertTitle('Pesquisa - CAbeceira')
	assertTextPresent('teste2@gmail.com')

#{/selenium}

#{selenium 'Teste Cadastro Usuário'}
	clickAndWait('link=Registrar-se')
	assertNotTitle('Application error')
	assertTitle('Registrar-se - CAbeceira')
	assertTextPresent('Email')
	assertTextPresent('Senha')
	
	//tentar cadastrar sem preencher nenhum campo
	clickAndWait('cadastrarUsuario')
	assertTextPresent(Erro)
	
	
	//tentar cadastrar usuário existente
	type('email','teste2@gmail.com')
	type('senha',senha)
	type('nome','Teste')
	type('sobrenome',Usuario)
	clickAndWait('cadastrarUsuario')
	assertTextPresent('existe')
	
	//tentar cadastrar usuário com formato incorreto
	type('email',teste)
	clickAndWait('cadastrarUsuario')
	assertTextPresent('Erro')
	
	//cadastrar um usuário com sucesso
	type('email','usuario@gmail.com')
	type('senha',senha)
	type('nome','Teste')
	type('sobrenome',Usuario)
	clickAndWait('cadastrarUsuario')
	assertTextPresent('sucesso')
	
	clickAndWait('link=Usuários')
	assertTextPresent('usuario@gmail.com')
	
#{/selenium}